A data network switch permits data communication among a plurality of media stations in a local area network. Each station in the network is associated with a port of the switch. Data frames, or packets, are transferred between stations by means of data network switch media access control (MAC) circuitry for each switch port. The network switch passes data frames received from a transmitting station to a destination station based on the header information in the received data frame. The switch can link the network to other networks through a router connected to one or more switch ports.
Packet transmission events typically are tracked to provide a basis for statistical analysis of network operation with respect to each data network switch port. For example, the number of transmitted packets, received packets, transmission collisions and the like can be counted and polled periodically. These significant parameters, termed objects, may be collected in counters. The resulting information can be used to recognize improper device operation such as, for example, loss of packets.
Typically, each MAC unit may include a receive state machine and a transmit state machine having internal counters of limited capacity for counting a small number of transmission event parameters for each frame that traverses the respective switch port. Flip-flops, dedicated to the particular parameter objects, are respectively incremented each time an item in that frame is identified. For each incoming frame, which may be temporarily stored in a receive FIFO buffer, the respective flip-flops in the receive state machine are read and the resulting data are appended to the frame. For outgoing frames, similar processing takes place. This data traditionally has been stored on the chip in history or status registers.
As data networks become more robust and data traffic increases, additional operational parameters become significant. For example, ports may be operative with different transmission characteristics, such as different data rates and at half-duplex or full-duplex protocols. The need to track all significant parameters imposes difficulties relating to increased MAC complexity. Such complexity involves the provision of more registers and supporting logic elements, as well as a requirement for larger buffer capacities. Integration of these additional elements for each MAC on the switch logic chip places a burden on chip architecture. These projected difficulties, and the relatively limited reporting functionality for the prior art arrangements, are significant disadvantages.
Reference is made to the above-identified, commonly assigned, copending applications for more detailed discussion of the demands on chip architecture engendered by increased MAC complexity, increased number of switch ports and usage, and increased number of significant operational parameters. These applications address these problems by defining significant event parameters as objects of a Management Information Base (MIB). An Integrated Multiport Switch (IMS) includes all logic components on a single chip. The network switch architecture includes an on-chip "MIB engine" having a MIB report processor that enables monitoring of a large number of MIB objects by each on-chip MAC, ultimately to be stored in external memory, while minimizing MAC complexity. A MAC for each port in the switch outputs a MIB report for each transmission or reception of data according to a specific encoded format to the MIB engine. The MIB engine decodes the MIB report into a plurality of associated MIB objects, which are temporarily accumulated until the external memory is updated.
The various MIB objects are generated by the MAC at each port for each packet transmitted or received. For each significant parameter a packet characteristic is compared against a predefined standard. Compliance or noncompliance with the standard is counted, the result of the count for each parameter being included in the MIB report. One such significant parameter is maximum packet length. Of statistical interest is the number of transmitted or received packets that exceed the prescribed maximum packet length. For each packet, the MAC counts the number of data bytes, which number is accumulated until the end of the packet. The total number of bytes accumulated is compared with a maximum packet length criterion. The result is the basis for the generation of the maximum length MIB object of the generated MIB report for that packet.
Traditionally, the standard criterion for maximum packet length has been 1518 bytes, based on set allotted portions for header and information content. With a constant standard against which the packet length can be compared, the MAC can perform a simple operation to determine this MIB parameter. However, as switch and network functionalities have broadened, frames require additional header description indicative of added features. For example, the need exists for a network switch that will support virtual LANs (VLANs), for creating logical workgroups of users who may be physically separated from each other. VLAN groupings would provide privacy and security to their members. VLANs would also provide "broadcast domains" whereby broadcast traffic is kept "inside" the VLAN. These groupings can be thought of as "sub-networks" within a larger network. Data packets communicating in the VLAN would require a tag in the header that identifies the VLAN ID and type. The frame format for such packets is expanded relative to the standard frame format.
The generation of a MIB maximum packet length object thus becomes complicated. The maximum packet length for frames that do not have the VLAN tag would remain at 1518 bytes. The maximum packet length for frames that have the VLAN tag would be increased by the number of bytes required for the tag. In order to generate an accurate MIB report, the MAC must be provided with appropriate maximum packet length criterion for each packet. A VLAN tagged packet at maximum length would be counted as excessive if the traditional 1518 criterion were applied. Conversely, a non tagged packet of a length equal to the VLAN maximum would appear to be acceptable if the VLAN criterion were applied.
A further complication stems from the fact that not all ports would be qualified as VLAN ports. The tagging of VLAN ports would be a condition for applying the VLAN maximum length criterion. A VLAN tagged frame at maximum VLAN packet length from an untagged port should be indicated as an error as that port is not qualified for VLAN data traffic. Thus, for the latter situation, the standard 1518 maximum packet length criterion should apply.
The need thus exists for setting the maximum packet length criterion on a dynamic basis. As the association of ports with VLAN operation can be expected to change at irregular intervals, setting of the appropriate criterion must be flexible.